package twobranchsearch.sortedarraytobalance;

import twobranchTree.preorderTraversal.TreeNode;

/**
 * @Date 2020/03/15
 * @author 王光浩
 * @Thinking 使用二分法构建平衡二叉搜索树。
 * @Analysis 时间复杂度O（n），空间复杂度O（n）
 */
public class MyMethodOnee {
	private int[] array;
	private TreeNode helper(int first,int last) {
		if(first>last)return null;
		TreeNode node=new TreeNode(array[(first+last)/2]);
		node.left=helper(first,(first+last)/2-1);
		node.right=helper((first+last)/2+1,last);
		return node;
	}
	public TreeNode sortedArrayToBST(int[] nums) {
		array=nums;
		return helper(0,nums.length-1);
    }
}
